//package com.cssy.yd.logic.web;
//
//import java.util.List;
//import java.math.BigDecimal;
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Calendar;
//import java.util.Collections;
//import java.util.Comparator;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.Map;
//import java.util.Map.Entry;
//import java.util.Set;
//
//import javax.annotation.Resource;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
//import org.apache.poi.hssf.usermodel.HSSFCell;
//import org.apache.poi.hssf.usermodel.HSSFCellStyle;
//import org.apache.poi.hssf.usermodel.HSSFFont;
//import org.apache.poi.hssf.usermodel.HSSFRow;
//import org.apache.poi.hssf.usermodel.HSSFSheet;
//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
//import org.springframework.stereotype.Controller;
//import org.springframework.ui.Model;
//import org.springframework.validation.BindingResult;
//import org.springframework.web.bind.annotation.RequestMapping;
//
//import com.cssy.authority.service.IScUserRolewhPlaceService;
//import com.cssy.base.web.BaseController;
//import com.cssy.yd.basic.entity.BasicMaterialstypeDO;
//import com.cssy.yd.basic.service.IBasicMaterialstypeService;
//import com.cssy.yd.basic.service.IBasicStorageService;
//import com.cssy.yd.logic.entity.LogicWhAffStockFinanceDO;
//import com.cssy.yd.logic.entity.LogicWhAffstockDO;
//import com.cssy.yd.logic.service.ILogicWhAffService;
//import com.cssy.yd.logic.util.MathUtil;
//import com.cssy.yd.logic.util.SqlUtil;
//import com.cssy.yd.logic.vo.LogicWhAffVO;
//import com.cssy.yd.logic.vo.LogicWhAffVO1;
//import com.plat.helper.JqGridHandler;
//import com.plat.helper.SearchCondition;
//import com.plat.helper.SearchConditions;
//import com.plat.helper.SearchResult;
//import com.plat.util.DateUtils;
//import com.plat.util.ExcelUtil;
//import com.plat.util.json.OutJsonGrid;
//
//@Controller
//@RequestMapping("/yd/logic/storageDeatils")
//public class StorageDeatilsController extends BaseController<LogicWhAffstockDO> {
//
//	private static final String MANAGER = "/yd/logic/storageDeatils/Manager";
//	private static final String MANAGERM = "/yd/logic/storageDeatils/ManagerM";
//	private static final String MANAGERDAY = "/yd/logic/storageDeatils/ManagerDay";
//	private static final String MANAGERMON = "/yd/logic/storageDeatils/ManagerMon";
//	private static final String MANAGERMON1 = "/yd/logic/storageDeatils/ManagerMon1";
//	private static final String MANAGERFINANCE = "/yd/logic/storageDeatils/ManagerFinance";
//	
//	@Resource(name = "logicWhAffService")
//	private ILogicWhAffService logicWhAffService;  
//
//	@Resource(name="scUserRolePlaceService")
//	private IScUserRolewhPlaceService scUserRolePlaceService;
//	
//	@Resource(name="basicmatertypeService")
//	private IBasicMaterialstypeService basicmatertypeService;
//	
//	
//	@Resource(name = "basicwhService")
//	private IBasicStorageService basicwhService;
//	
//	@Override
//	public String manager(HttpServletRequest request, Model model)
//			throws Exception {
//		model.addAttribute("wh",SqlUtil.sqlUtil.roleWH(request, scUserRolePlaceService));
//		return MANAGER;
//	}
//	@RequestMapping("/managerm")
//	public String managerm(HttpServletRequest request, Model model)
//			throws Exception {
//		model.addAttribute("wh",SqlUtil.sqlUtil.roleWH(request, scUserRolePlaceService));
//		return MANAGERM;
//	}
//	
//	@RequestMapping("/managerDay")
//	public String managerDay(HttpServletRequest request, Model model)
//			throws Exception {
//		model.addAttribute("wh",SqlUtil.sqlUtil.roleWH(request, scUserRolePlaceService));
//		return MANAGERDAY;
//	}
//
//	@RequestMapping("/managerMon")
//	public String managerMon(HttpServletRequest request, Model model)
//			throws Exception {
//		model.addAttribute("wh",SqlUtil.sqlUtil.roleWH(request, scUserRolePlaceService));
//		return MANAGERMON;
//	}
//	
//	@RequestMapping("/managerMon1")
//	public String managerMon1(HttpServletRequest request, Model model)
//			throws Exception {
//		model.addAttribute("wh",SqlUtil.sqlUtil.roleWH(request, scUserRolePlaceService));
//		return MANAGERMON1;
//	}
//	
//	@RequestMapping("/managerFinance")
//	public String managerFinance(HttpServletRequest request, Model model)
//			throws Exception {
//		model.addAttribute("wh",SqlUtil.sqlUtil.roleWH(request, scUserRolePlaceService));
//		return MANAGERFINANCE;
//	}
//
//	@Override
//	public void list(HttpServletRequest request, HttpServletResponse response)
//			throws Exception {
//		JqGridHandler hander = new JqGridHandler(request);
//		SearchConditions scs = new SearchConditions();
//		String str = hander.getQueryValue("lwa.bill_type");
//		hander.getWheres(scs);
//		if("qrk".equals(str)){
//			scs.removeCondition("lwa.bill_type");
//			scs.addCondition("lwa.jquantity", 0, SearchCondition.OP_DY);
//			scs.addCondition("lwa.bill_type", "SJ", SearchCondition.OP_NOTEQUAL);
//			scs.addCondition("lwa.bill_type", "SF", SearchCondition.OP_NOTEQUAL);
//			scs.addCondition("lwa.status", 5, SearchCondition.OP_NOTEQUAL);
//		}else if("qck".equals(str)){
//			scs.removeCondition("lwa.bill_type");
//			scs.addCondition("lwa.jquantity", 0, SearchCondition.OP_XY);
//			scs.addCondition("lwa.bill_type", "SJ", SearchCondition.OP_NOTEQUAL);
//			scs.addCondition("lwa.bill_type", "SF", SearchCondition.OP_NOTEQUAL);
//			scs.addCondition("lwa.status", 5, SearchCondition.OP_NOTEQUAL);
//		}
//	    Map<String,Object> sqlMap = SqlUtil.sqlUtil.roleWhSqlFilter(request, scUserRolePlaceService,"wh_code");
//		scs.addCondition((String)sqlMap.get("option"), (List)sqlMap.get("roleWhList"));
//		scs.setOrderBy("dctime");
//		SearchResult result = logicWhAffService
//				.findListByExampleForDetails(scs);
//		List<LogicWhAffVO>  list=result.getResults();
////		if(list.size()>0){
////			for(int i=0;i<list.size();i++){
////				String code = list.get(i).getBillCode();
////				if("WC".equals(list.get(i).getBillType())){
////					SearchConditions scs1 = new SearchConditions();
////					scs1.addCondition("get_pro_code", code);
////					 SearchResult result1 =logicProGetService.findListByExample(scs1);
////					 List<LogicProGetDO> pg=result1.getResults();
////					 if(pg.size()>0){
////						 list.get(i).setMaintenanceGroup(pg.get(0).getCreateRName());
////					 }
////				}
////			}
////		}
//		result.setResults(null);
//		result.setResults(list);
//		OutJsonGrid out = new OutJsonGrid(result);  
//		out.printJSon(response);
//	}
//
//	@Override
//	public String operationForm(HttpServletRequest request, String id,
//			String flag, Model model) throws Exception {
//		return null;
//	}
//
//	@Override
//	public Map<String, Object> save(HttpServletRequest request,
//			LogicWhAffstockDO curAP, BindingResult result, Model model)
//			throws Exception {
//		return null;
//	}
//
//	@Override
//	public Map<String, Object> delete(HttpServletRequest request,
//			HttpServletResponse response, Model model) throws Exception {
//		return null;
//	}
//
//	@RequestMapping("/listday")
//	public void listday(HttpServletRequest request, HttpServletResponse response)
//			throws Exception {
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		JqGridHandler hander = new JqGridHandler(request);
//		SearchConditions scs = new SearchConditions();
//		hander.getWheres(scs);
//		String d = hander.getQueryValue("a.dctime");
//		String acode = hander.getQueryValue("a.code");
//		String mname = hander.getQueryValue("m.name");
//		String mitmetype = hander.getQueryValue("m.itmetype");
//		String sname = hander.getQueryValue("s.name");
//		String batch = hander.getQueryValue("batch");
//		String status = hander.getQueryValue("e.status");
//		Map<String,String> map = new HashMap<String,String>();
//		if (d != null && !"".equals(d)) {
//			map.put("dctimes", d + " 00:00:00");
//			map.put("dctimee", d + " 23:59:59");
//		} else {
//			map.put("dctimes", sdf.format(new Date()) + " 00:00:00");
//			map.put("dctimee", sdf.format(new Date()) + " 23:59:59");
//		}
//		if (acode != null && !"".equals(acode)) {
//			map.put("acode", "%"+acode+"%");
//		}
//		if (mname != null && !"".equals(mname)) {
//			map.put("mname", "%"+mname+"%");
//		}
//		if (mitmetype != null && !"".equals(mitmetype)) {
//			map.put("mitmetype", "%"+mitmetype+"%");
//		}
//		if (sname != null && !"".equals(sname)) {
//			map.put("sname", "%"+sname+"%");
//		}
//		if (batch != null && !"".equals(batch)) {
//			map.put("batch", "%"+batch+"%");
//		}
//		if (status != null && !"".equals(status)) {
//			map.put("status", "%"+status+"%");
//		}
//		SearchResult result = new SearchResult();
//		List<LogicWhAffVO> resultlist =new ArrayList<LogicWhAffVO>();
//		Map<String,LogicWhAffVO> affvomap = new HashMap<String, LogicWhAffVO>();
//		List<LogicWhAffVO> startlist = logicWhAffService.findStarQty(map);
//		if(startlist.size()>0){
//			for(LogicWhAffVO vo:startlist){
//				String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//				vo.setRkquantity(0d);
//				vo.setCkquantity(0d);
//				vo.setJrkc(0d);
//				affvomap.put(str, vo);
//			}
//		}
//		List<LogicWhAffVO> inoutlist = logicWhAffService.findInOutQty(map);
//		if(inoutlist.size()>0){
//			for(LogicWhAffVO vo:inoutlist){
//				if((vo.getRkquantity()!=null&&vo.getRkquantity()!=0)||(vo.getCkquantity()!=null&&vo.getCkquantity()!=0)){
//					LogicWhAffVO temaff = new LogicWhAffVO();
//					String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//					if(affvomap.get(str)!=null){
//						temaff=affvomap.get(str);
//						temaff.setRkquantity(vo.getRkquantity());
//						temaff.setCkquantity(vo.getCkquantity());
//						affvomap.put(str, temaff);
//					}else{
//						vo.setSumquantity(0d);
//						vo.setJrkc(0d);
//						affvomap.put(str, vo);
//					}
//				}
//			}
//		}
//		List<LogicWhAffVO> endlist = logicWhAffService.findEndQty(map);
//		if(endlist.size()>0){
//			for(LogicWhAffVO vo:endlist){
//				LogicWhAffVO temaff = new LogicWhAffVO();
//				String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//				if(affvomap.get(str)!=null){
//					temaff=affvomap.get(str);
//					temaff.setJrkc(vo.getJrkc());
//					affvomap.put(str, temaff);
//				}else{
//					vo.setSumquantity(0d);
//					vo.setRkquantity(0d);
//					vo.setCkquantity(0d);
//					affvomap.put(str, vo);
//				}
//			}
//		}
//		for (Map.Entry<String, LogicWhAffVO> MapString : affvomap.entrySet()) {
//			LogicWhAffVO affvo = MapString.getValue();
//			if(affvo.getRkquantity()!=0||affvo.getCkquantity()!=0){
//				resultlist.add(affvo);
//			}
//		}
//		result.setResults(resultlist);
//		OutJsonGrid out = new OutJsonGrid(result);
//		out.printJSon(response);
//	}
//	@RequestMapping("/listmon")
//	public void listmon(HttpServletRequest request, HttpServletResponse response)
//			throws Exception {
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		SimpleDateFormat ysdf = new SimpleDateFormat("yyyy-MM");
//		JqGridHandler hander = new JqGridHandler(request);
//		SearchConditions scs = new SearchConditions();
//		hander.getWheres(scs);
//		String dctimes = hander.getQueryValue("a.dctime");
//		String dctimee = hander.getQueryValue("dctime");
//		Date startdate = null;
//		Date enddate = null;
//		Calendar calendar = Calendar.getInstance();	
//		if (dctimes != null && !"".equals(dctimes)) {
//			startdate = sdf.parse(dctimes);
//		}else{ 
//			calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
//			startdate =calendar.getTime();  
//		}
//		if (dctimee != null && !"".equals(dctimee)) {
//			enddate = sdf.parse(dctimee);
//		}else{
//			calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH));  
//			enddate =calendar.getTime(); 
//		}
//		String acode = hander.getQueryValue("a.code");
//		String mname = hander.getQueryValue("m.name");
//		String mitmetype = hander.getQueryValue("m.itmetype");
//		String sname = hander.getQueryValue("s.name");
//		String batch = hander.getQueryValue("batch");
//		String status = hander.getQueryValue("e.status");
//		Map map = new HashMap();
//		if (dctimes != null && !"".equals(dctimes)) {
//			map.put("dctimes", dctimes + " 00:00:00");
//		} else {
//			map.put("dctimes", sdf.format(startdate) + " 00:00:00");
//		}
//		if (dctimee != null && !"".equals(dctimee)){
//			map.put("dctimee", dctimee + " 23:59:59");
//		}else {
//			map.put("dctimee", sdf.format(enddate) + " 23:59:59");
//		}
//		if (acode != null && !"".equals(acode)) {
//			map.put("acode", "%"+acode+"%");
//		}
//		if (mname != null && !"".equals(mname)) {
//			map.put("mname", "%"+mname+"%");
//		}
//		if (mitmetype != null && !"".equals(mitmetype)) {
//			map.put("mitmetype", "%"+mitmetype+"%");
//		}
//		if (sname != null && !"".equals(sname)) {
//			map.put("sname", "%"+sname+"%");
//		}
//		if (batch != null && !"".equals(batch)) {
//			map.put("batch", "%"+batch+"%");
//		}
//		if (status != null && !"".equals(status)) {
//			map.put("status", "%"+status+"%");
//		}
//		SearchResult result = new SearchResult();
//		List<LogicWhAffVO> resultlist =new ArrayList<LogicWhAffVO>();
//		Map<String,LogicWhAffVO> affvomap = new HashMap<String, LogicWhAffVO>();
//		List<LogicWhAffVO> startlist = logicWhAffService.findStarQty(map);
//		if(startlist.size()>0){
//			for(LogicWhAffVO vo:startlist){
//				String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//				vo.setRkquantity(0d);
//				vo.setCkquantity(0d);
//				vo.setJrkc(0d);
//				affvomap.put(str, vo);
//			}
//		}
//		List<LogicWhAffVO> inoutlist = logicWhAffService.findInOutQty(map);
//		if(inoutlist.size()>0){
//			for(LogicWhAffVO vo:inoutlist){
//				if((vo.getRkquantity()!=null&&vo.getRkquantity()!=0)||(vo.getCkquantity()!=null&&vo.getCkquantity()!=0)){
//					LogicWhAffVO temaff = new LogicWhAffVO();
//					String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//					if(affvomap.get(str)!=null){
//						temaff=affvomap.get(str);
//						temaff.setRkquantity(vo.getRkquantity());
//						temaff.setCkquantity(vo.getCkquantity());
//						affvomap.put(str, temaff);
//					}else{
//						vo.setSumquantity(0d);
//						vo.setJrkc(0d);
//						affvomap.put(str, vo);
//					}
//				}
//			}
//		}
//		List<LogicWhAffVO> endlist = logicWhAffService.findEndQty(map);
//		if(endlist.size()>0){
//			for(LogicWhAffVO vo:endlist){
//				LogicWhAffVO temaff = new LogicWhAffVO();
//				String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//				if(affvomap.get(str)!=null){
//					temaff=affvomap.get(str);
//					temaff.setJrkc(vo.getJrkc());
//					affvomap.put(str, temaff);
//				}else{
//					vo.setSumquantity(0d);
//					vo.setRkquantity(0d);
//					vo.setCkquantity(0d);
//					affvomap.put(str, vo);
//				}
//			}
//		}
//		for (Map.Entry<String, LogicWhAffVO> MapString : affvomap.entrySet()) {
//			LogicWhAffVO affvo = MapString.getValue();
//			if(affvo.getRkquantity()!=0||affvo.getCkquantity()!=0){
//				resultlist.add(affvo);
//			}
//		}
//		result.setResults(resultlist);
//		OutJsonGrid out = new OutJsonGrid(result);
//		out.printJSon(response);
//	}
//	@RequestMapping("/listmon1")
//	public void listmon1(HttpServletRequest request, HttpServletResponse response)
//			throws Exception {
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		JqGridHandler hander = new JqGridHandler(request);
//		SearchConditions scs = new SearchConditions();
//		hander.getWheres(scs);
//		String d = hander.getQueryValue("a.dctime");
//		String d1 = hander.getQueryValue("dctime");
//		String mname = hander.getQueryValue("m.name");
//		
//		Map map = new HashMap();
//		if (d != null && !"".equals(d)) {
//			map.put("dctimes", d + " 00:00:00");
//		} else {
//			map.put("dctimes", sdf.format(new Date()) + " 00:00:00");
//		}
//		if (d1 != null && !"".equals(d1)){
//			map.put("dctimee", d1 + " 23:59:59");
//		}else {
//			map.put("dctimee", sdf.format(new Date()) + " 23:59:59");
//		}
//		
//		if (mname != null && !"".equals(mname)) {
//			map.put("mname", mname);
//		}
//		SearchResult result = logicWhAffService.findAll1(map);
//		List<LogicWhAffVO1> vo1=result.getResults();
//		List<LogicWhAffVO1> vo2=new ArrayList<LogicWhAffVO1>();
//		//查找材料类型
//		List<String> slist=new ArrayList<String>();
//		Map <String,String> map1 = new HashMap <String,String>(); 
//		if(vo1.size()>0){
//			for(int i=0;i<vo1.size();i++){
//				BasicMaterialstypeDO bm = basicmatertypeService.findListById(vo1.get(i).getItmetypeid());
//				if(bm!=null){
//					if(typename(bm.getParentid(),bm.getName())!=null){
//						vo1.get(i).setItmetype(typename(bm.getParentid(),bm.getName()));
//					}
//				}
//			}
//			for(LogicWhAffVO1 o :vo1){
//				map1.put(o.getHubname()+o.getItmetype()+o.getBilltype(),o.getHubname()+","+o.getItmetype()+","+o.getBilltype()); 
//			}
//			Set<Entry<String, String>> set = map1.entrySet();// 取得键值对的对象set集合
//
//			for (Entry<String, String> en : set) {// 遍历键值对的集合
//				int j=1;
//				String[] array=en.getValue().split(",");
//				LogicWhAffVO1 wh=new LogicWhAffVO1();
//				LogicWhAffVO1 wh1=new LogicWhAffVO1();
//				for(int i=0;i<vo1.size();i++){
//					if(array[0].equals(vo1.get(i).getHubname())&&array[1].equals(vo1.get(i).getItmetype())&&array[2].equals(vo1.get(i).getBilltype())&&vo1.get(i).getQuantity()!=null){
//						if("PB".equals(vo1.get(i).getBilltype())){
//							if((vo1.get(i).getQuantity()==null?0.0:vo1.get(i).getQuantity())>=0){
//								wh.setHubname(vo1.get(i).getHubname());
//								wh.setItmetype(vo1.get(i).getItmetype());
//								wh.setTypename("盘点盈");
//								wh.setQuantity((wh.getQuantity()==null?0.0:wh.getQuantity())+(vo1.get(i).getQuantity()==null?0.0:vo1.get(i).getQuantity()));
//							}else{
//								wh1.setHubname(vo1.get(i).getHubname());
//								wh1.setItmetype(vo1.get(i).getItmetype());
//								wh1.setTypename("盘点亏");
//								wh1.setQuantity((wh1.getQuantity()==null?0.0:wh1.getQuantity())+(vo1.get(i).getQuantity()==null?0.0:vo1.get(i).getQuantity()));
//							}
//						}else{
//							wh.setHubname(vo1.get(i).getHubname());
//							wh.setItmetype(vo1.get(i).getItmetype());
//							wh.setTypename(vo1.get(i).getTypename());
//							wh.setQuantity((wh.getQuantity()==null?0.0:wh.getQuantity())+(vo1.get(i).getQuantity()==null?0.0:vo1.get(i).getQuantity()));
//						}
//					}
//				}
//				if(wh1.getItmetype()!=null){
//					vo2.add(wh1);
//				}
//				if(wh.getItmetype()!=null){
//					vo2.add(wh);
//				}
//			}
//		}
//		Collections.sort(vo2, new Comparator<LogicWhAffVO1>() {
//            public int compare(LogicWhAffVO1 arg0, LogicWhAffVO1 arg1) {
//                return arg0.getHubname().compareTo(arg1.getHubname());
//            }
//        });
//		OutJsonGrid out = new OutJsonGrid(vo2);
//		out.printJSon(response);
//	}
//	
//	@RequestMapping("/listfinance")
//	public void listFinance(HttpServletRequest request, HttpServletResponse response)
//			throws Exception {
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		JqGridHandler hander = new JqGridHandler(request);
//		SearchConditions scs = new SearchConditions();
//		hander.getWheres(scs);
//		String dctimes = hander.getQueryValue("startdctime");
//		String dctimee = hander.getQueryValue("enddctime");
//		Date startdate = null;
//		Date enddate = null;
//		Calendar calendar = Calendar.getInstance();	
//		if (dctimes != null && !"".equals(dctimes)) {
//			startdate = sdf.parse(dctimes);
//		}else{ 
//			calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
//			startdate =calendar.getTime();  
//		}
//		if (dctimee != null && !"".equals(dctimee)) {
//			enddate = sdf.parse(dctimee);
//		}else{
//			calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH));  
//			enddate =calendar.getTime(); 
//		}
//		String code = hander.getQueryValue("code");
//		String name = hander.getQueryValue("name");
//		String whname = hander.getQueryValue("whname");
//		Map<String,String> map = new HashMap<String,String>();
//		if (dctimes != null && !"".equals(dctimes)) {
//			map.put("dctimes", dctimes + " 00:00:00");
//		} else {
//			map.put("dctimes", sdf.format(startdate) + " 00:00:00");
//		}
//		if (dctimee != null && !"".equals(dctimee)){
//			map.put("dctimee", dctimee + " 23:59:59");
//		}else {
//			map.put("dctimee", sdf.format(enddate) + " 23:59:59");
//		}
//		if (code != null && !"".equals(code)) {
//			map.put("code", "%"+code+"%");
//		}
//		if (name != null && !"".equals(name)) {
//			map.put("name", "%"+name+"%");
//		}
//		if (whname != null && !"".equals(whname)) {
//			map.put("whname", "%"+whname+"%");
//		}
//		map.put("limitClause", scs.getLimitClause());
//		SearchResult result = logicWhAffService.findFinance(map);
//		List<LogicWhAffStockFinanceDO> list = result.getResults();
//		if(list.size()>0){
//			for(LogicWhAffStockFinanceDO lwfd : list){				
//				Double startamount = startAmount(lwfd.getWhname(),lwfd.getCode(),startdate,enddate);
//				Double startprice = null;
//				if(startamount==null||startamount==0||lwfd.getStartquantity()==0){
//					startamount = new Double("0.0");
//					startprice = new Double("0.0");
//				}else{
//					startprice = new BigDecimal(startamount).divide(new BigDecimal(lwfd.getStartquantity()),10,BigDecimal.ROUND_HALF_UP).doubleValue();
//				}
//				Double endprice =  new BigDecimal((startamount + lwfd.getInamount())).divide(new BigDecimal(lwfd.getStartquantity() + lwfd.getInquantity()),10,BigDecimal.ROUND_HALF_UP).doubleValue();
//				Double outamount = MathUtil.mathUtil.multiply(endprice,lwfd.getOutquantity());
//				Double endamount = MathUtil.mathUtil.multiply(endprice,lwfd.getEndquantity());
//				lwfd.setStartprice(startprice);
//				lwfd.setStartamount(startamount);
//				lwfd.setOutamount(outamount);
//				lwfd.setEndprice(endprice);
//				lwfd.setEndamount(endamount);
//			}
//		}
//		OutJsonGrid out = new OutJsonGrid(result);
//		out.printJSon(response);
//	}
//	
//	/**
//	 * 计算期初总金额
//	 * @param whname 仓库名称
//	 * @param code 物料编码
//	 * @param startdate 开始日期
//	 * @param enddate 结束日期
//	 * @return startamount 期初总金额
//	 */
//	private Double startAmount(String whname, String code,Date startdate,Date enddate){
//		Double startamount = new Double("0.0");
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		SimpleDateFormat ysdf = new SimpleDateFormat("yyyy-MM");
//		Calendar cal = Calendar.getInstance();
//		cal.setTime(startdate);
//		int year = cal.get(Calendar.YEAR);
//		int month = cal.get(Calendar.MONTH);
//		if(month==0){
//			year = cal.get(Calendar.YEAR)-1;
//			month = 11;
//		} else{
//			year = cal.get(Calendar.YEAR);
//			month = cal.get(Calendar.MONTH)-1;
//		}
//		cal.set(Calendar.YEAR, year);  
//        cal.set(Calendar.MONTH, month);
//		String dctimes = cal.get(Calendar.YEAR)+"-"+(cal.get(Calendar.MONTH)+1)+"-01";	
//		String dctimee = cal.get(Calendar.YEAR)+"-"+(cal.get(Calendar.MONTH)+1)+"-"+cal.getActualMaximum(Calendar.DATE);
//		Date prestartdate = null;
//		Date preenddate = null;
//		cal.getActualMaximum(Calendar.DATE); 
//		try {
//			 prestartdate = sdf.parse(dctimes);
//			 preenddate = sdf.parse(dctimee);
//		}catch (ParseException e) {
//			e.printStackTrace();
//			
//		}
//		Map<String,String> map = new HashMap<String,String>();
//		map.put("dctimes", dctimes + " 00:00:00");
//		map.put("dctimee", dctimee + " 23:59:59");		
//		if (code != null && !"".equals(code)) {
//			map.put("code", "%"+code+"%");
//		}
//		if (whname != null && !"".equals(whname)) {
//			map.put("whname", "%"+whname+"%");
//		}
//		LogicWhAffStockFinanceDO do1 = logicWhAffService.findInOutBycode(map);
//		LogicWhAffStockFinanceDO do2 = logicWhAffService.findCKBycode(map);
//		
//		if(do1==null && do2==null){
//			return new Double("0.0");
//		} else{
// 			LogicWhAffStockFinanceDO lwfd = null;
// 			if(do1!=null){
// 				lwfd.setCode(do1.getCode());
// 				lwfd.setName(do1.getName());
// 				lwfd.setSpec(do1.getSpec());
// 				lwfd.setJunit(do1.getJunit());
// 				lwfd.setWhcode(do1.getWhcode());
// 				lwfd.setWhname(do1.getWhname());
// 				lwfd.setInquantity(do1.getInquantity()==null?0.0:do1.getInquantity());
// 				lwfd.setInquantity(do1.getInamount()==null?0.0:do1.getInamount());
// 				lwfd.setOutquantity(do1.getOutquantity()==null?0.0:do1.getOutquantity());
// 			}
// 			if(do2!=null){
// 				lwfd.setCode(do1.getCode());
// 				lwfd.setName(do1.getName());
// 				lwfd.setSpec(do1.getSpec());
// 				lwfd.setJunit(do1.getJunit());
// 				lwfd.setWhcode(do1.getWhcode());
// 				lwfd.setWhname(do1.getWhname());
// 				lwfd.setEndquantity(do2.getEndquantity()==null?0.0:do2.getEndquantity());
// 			}
// 			lwfd.setStartquantity((lwfd.getEndquantity()==null?0.0:lwfd.getEndquantity())-
// 					(lwfd.getOutquantity()==null?0.0:lwfd.getOutquantity())-
// 					(lwfd.getInquantity()==null?0.0:lwfd.getInquantity()));
//			if(lwfd.getStartquantity()==0){
//				return new Double("0.0");
//			}else {
//				Double inamount = lwfd.getInamount();
//				Double inquantity = lwfd.getInquantity();
//				Double startquantity = lwfd.getStartquantity();
//				Double endquantity = lwfd.getEndquantity();
//				Double laststartamount = startAmount(whname,code,prestartdate,preenddate);
//				startamount = new BigDecimal(MathUtil.mathUtil.addtract(laststartamount, inamount)).divide(
//						new BigDecimal(MathUtil.mathUtil.addtract(startquantity,inquantity)),10,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(endquantity)).doubleValue(); 		
//				return startamount;
//			}
//		}
//	}
//	
//	private List<String> ptypename(){
//		List<String> array=new ArrayList<String>();
//		List<BasicMaterialstypeDO> bmlist =basicmatertypeService.findAll("材料分类");
//		if(bmlist.size()>0){
//			List<BasicMaterialstypeDO> bm =basicmatertypeService.findAllPa(bmlist.get(0).getId());
//			if(bm.size()>0){
//				for(int i=0;i<bm.size();i++){
//					String s=bm.get(i).getName();
//					array.add(s);
//				}
//			}
//		}
//		return array;
//	}
//	//查找材料所属父类型
//	private String typename(String id,String name) {
//		BasicMaterialstypeDO bm =new BasicMaterialstypeDO();
//		bm = basicmatertypeService.findListById(id);
//		if(bm.getId()!=null){
//			if ("材料分类".equals(bm.getName())) {
//				return name;
//			} else {
//				return typename(bm.getParentid(), bm.getName());
//			}
//		}else{
//			return null;
//		}
//		
//	}
//	/**
//	 * 出入库明细导出
//	 * @param request
//	 * @param response
//	 * @throws Exception
//	 */
//	@RequestMapping("/exportExcelDetatils")
//	public void exportExcelDetatils(HttpServletRequest request,
//			HttpServletResponse response) throws Exception {
//		String type =request.getParameter("type");
//		JqGridHandler hander = new JqGridHandler(request);
//		SearchConditions scs = new SearchConditions();
//		scs.clearCondition();
//		scs.setLimitPage(false);
//		hander.setFilters(new String(request.getParameter("filters").getBytes(
//				"ISO-8859-1"), "UTF-8")); // 转码
//		hander.getWheres(scs);
//		SearchResult result = logicWhAffService.findListByExampleForDetails(scs);
//		List<LogicWhAffVO> list = result.getResults();
//		for (LogicWhAffVO lwv : list){
//			if ("1".equals(lwv.getStatus())){
//				lwv.setStatus("一等");
//			}
//			if ("2".equals(lwv.getStatus())){
//				lwv.setStatus("次品");
//			}
//			if ("3".equals(lwv.getStatus())){
//				lwv.setStatus("旧品");
//			}
//			if ("4".equals(lwv.getStatus())){
//				lwv.setStatus("冻结库存");
//			}
//			if ("5".equals(lwv.getStatus())){
//				lwv.setStatus("在途库存");
//			}
//			
//			if("CO".equals(lwv.getBillType())){
//      			lwv.setBillType("其他入库");
//      		}else if("QC".equals(lwv.getBillType())){
//      			lwv.setBillType("其他出库");
//      		}else if("LL".equals(lwv.getBillType())){
//      			lwv.setBillType("领料出库");
//      		}else if("TL".equals(lwv.getBillType())){
//      			lwv.setBillType("领料退料");
//      		}else if("ST".equals(lwv.getBillType())){
//      			lwv.setBillType("调拨发起");
//      		}else if("JS".equals(lwv.getBillType())){
//      			lwv.setBillType("调拨接收");
//      		}else if("PW".equals(lwv.getBillType())){
//      			lwv.setBillType("采购入库");
//      		}else if("CT".equals(lwv.getBillType())){
//      			lwv.setBillType("采购退货");
//      		}else if("SP".equals(lwv.getBillType())){
//      			lwv.setBillType("销售出库");
//      		}else if("XT".equals(lwv.getBillType())){
//      			lwv.setBillType("销售退货");
//      		}else if("SF".equals(lwv.getBillType())){
//      			lwv.setBillType("销售冻结");
//      		}else if("SJ".equals(lwv.getBillType())){
//      			lwv.setBillType("销售解冻");
//      		}else if("PD".equals(lwv.getBillType())){
//      			lwv.setBillType("库存盘点");
//      		}else if("SC".equals(lwv.getBillType())){
//      			lwv.setBillType("成品入库");
//      		}else{
//      			lwv.setBillType(" ");
//      		}
//		}
//		String row = "单据类型:billType┋单据编码:billCode┋物料编号:code┋物料名称:name┋物料类型:maType┋型号:spec┋单位:junit┋仓库:whName┋批次:batch┋物品状态:status┋数量:jquantity┋建单时间:dctime";
//		ExcelUtil.toExcel(list,row,"出入库明细",response);
//		
////			HSSFWorkbook wb = new HSSFWorkbook();//建立新HSSFWorkbook对象  
////			HSSFSheet sheet = wb.createSheet("new sheet");//建立新的sheet对象  
////			if(list.size()>0){
////				HSSFCellStyle style = wb.createCellStyle();      
////				style.setBorderBottom(HSSFCellStyle.BORDER_DOTTED);//下边框       
////				style.setBorderLeft(HSSFCellStyle.BORDER_DOTTED);//左边框       
////				style.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框       
////				style.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
////				style.setBorderBottom((short) 1);
////				style.setBorderLeft((short) 1);
////				style.setBorderRight((short) 1);
////				style.setBorderTop((short) 1);
////				style.setAlignment((short) 2);
////				style.setVerticalAlignment((short) 1l);
////				
////				
////				HSSFCellStyle headerStyle = wb.createCellStyle();
////				headerStyle.setAlignment((short) 2);
////				headerStyle.setAlignment((short) 2);
////				headerStyle.setBorderBottom((short) 1);
////				headerStyle.setBorderLeft((short) 1);
////				headerStyle.setBorderRight((short) 1);
////				headerStyle.setBorderTop((short) 1);
////				headerStyle.setVerticalAlignment((short) 1);
////				HSSFFont bold1 = wb.createFont();
////				bold1.setFontName("黑体");
////				bold1.setFontHeightInPoints((short) 12);
////				bold1.setBoldweight((short) 50);
////				headerStyle.setFont(bold1);
////				headerStyle.setFillPattern((short) 1);
////				headerStyle.setFillForegroundColor((short) 43);
////				
////				HSSFRow row4 = sheet.createRow((short)0);//建立新行
////				HSSFCell cell14 = row4.createCell((short)0);
////				cell14.setCellValue("单据类型");
////				cell14.setCellStyle(headerStyle);
////				HSSFCell cell15 = row4.createCell((short)1);
////				cell15.setCellValue("单据编码");
////				cell15.setCellStyle(headerStyle);
////				HSSFCell cell16 = row4.createCell((short)2);
////				cell16.setCellValue("物料编号");
////				cell16.setCellStyle(headerStyle);
////				HSSFCell cell17 = row4.createCell((short)3);
////				cell17.setCellValue("物料名称");
////				cell17.setCellStyle(headerStyle);
////				HSSFCell cell18 = row4.createCell((short)4);
////				cell18.setCellValue("物料类型");
////				cell18.setCellStyle(headerStyle);
////				HSSFCell cell19 = row4.createCell((short)5);
////				cell19.setCellValue("型号");
////				cell19.setCellStyle(headerStyle);
////				HSSFCell cell20 = row4.createCell((short)6);
////				cell20.setCellValue("单位");
////				cell20.setCellStyle(headerStyle);
////				HSSFCell cell21 = row4.createCell((short)7);
////				cell21.setCellValue("仓库");
////				cell21.setCellStyle(headerStyle);
////				HSSFCell cell26 = row4.createCell((short)8);
////				cell26.setCellValue("批次");
////				cell26.setCellStyle(headerStyle);
////				HSSFCell cell22 = row4.createCell((short)9);
////				cell22.setCellValue("物品状态");
////				cell22.setCellStyle(headerStyle);
////				HSSFCell cell27 = row4.createCell((short)10);
////				cell27.setCellValue("数量");
////				cell27.setCellStyle(headerStyle);
////				HSSFCell cell23 = row4.createCell((short)11);
////				cell23.setCellValue("建单时间");
////				cell23.setCellStyle(headerStyle);
////					for(int i=0;i<list.size();i++){
////						HSSFRow row5 = sheet.createRow((short)(1+i));//建立新行  
////						HSSFCell cell37 = row5.createCell((short)0);
////						cell37.setCellStyle(style);
////						cell37.setCellValue(list.get(i).getBillType());
////						HSSFCell cell38 = row5.createCell((short)1);
////						cell38.setCellStyle(style);
////						cell38.setCellValue(list.get(i).getBillCode());
////						HSSFCell cell28 = row5.createCell((short)2);
////						cell28.setCellStyle(style);
////						cell28.setCellValue(list.get(i).getCode());
////						HSSFCell cell29 = row5.createCell((short)3);
////						cell29.setCellStyle(style);
////						cell29.setCellValue(list.get(i).getName());
////						HSSFCell cell30 = row5.createCell((short)4);
////						cell30.setCellStyle(style);
////						cell30.setCellValue(list.get(i).getMaType());
////						HSSFCell cell31 = row5.createCell((short)5);
////						cell31.setCellStyle(style);
////						cell31.setCellValue(list.get(i).getSpec());
////						HSSFCell cell32 = row5.createCell((short)6);
////						cell32.setCellStyle(style);
////						cell32.setCellValue(list.get(i).getJunit());
////						HSSFCell cell33 = row5.createCell((short)7);
////						cell33.setCellStyle(style);
////						cell33.setCellValue(list.get(i).getWhName());
////						HSSFCell cell36 = row5.createCell((short)8);
////						cell36.setCellStyle(style);
////						cell36.setCellValue(list.get(i).getBatch());
////						HSSFCell cell34 = row5.createCell((short)9);
////						cell34.setCellStyle(style);
////						cell34.setCellValue(list.get(i).getStatus());
////						HSSFCell cell39 = row5.createCell((short)10);
////						cell39.setCellStyle(style);
////						cell39.setCellValue(list.get(i).getJquantity());
////						HSSFCell cell35 = row5.createCell((short)11);
////						cell35.setCellStyle(style);
////						cell35.setCellValue(DateUtils.dateToString(list.get(i).getDctime(), "yyyy-MM-dd"));
////					}
////				}
////				response.setContentType("text/html;charset=UTF-8");
////				response.reset();
////				response.setContentType("application/ms-excel");
////				String fileNameDisplay = "出入库明细"+ new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
////				try {
////					fileNameDisplay = new String(fileNameDisplay.getBytes("GBK"),
////							"iso-8859-1");
////				} catch (UnsupportedEncodingException e1) {
////					e1.printStackTrace();
////				}
////				fileNameDisplay = fileNameDisplay.replace(" ", "%20");
////				response.addHeader("Content-Disposition", "attachment;filename="
////						+ fileNameDisplay + ".xls");
////				
////				OutputStream fout = null;
////				try {
////					fout = response.getOutputStream();
////					wb.write(response.getOutputStream());
////					fout.flush();
////					fout.close();
////				} catch (IOException e) {
////					e.printStackTrace();
////				}
//	}
//	
//	/**
//	 * 月报表导出
//	 * @param request
//	 * @param response
//	 * @throws Exception
//	 */
//	@RequestMapping("/exportExcelMonth")
//	public void exportExcelMonth(HttpServletRequest request,
//			HttpServletResponse response) throws Exception {
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		SimpleDateFormat ysdf = new SimpleDateFormat("yyyy-MM");
//		JqGridHandler hander = new JqGridHandler(request);
//		SearchConditions scs = new SearchConditions();
//		hander.setFilters(new String(request.getParameter("filters").getBytes(
//				"ISO-8859-1"), "UTF-8")); // 转码
//		hander.getWheres(scs);
//		String dctimes = hander.getQueryValue("a.dctime");
//		String dctimee = hander.getQueryValue("dctime");
//		Date startdate = null;
//		Date enddate = null;
//		Calendar calendar = Calendar.getInstance();	
//		if (dctimes != null && !"".equals(dctimes)) {
//			startdate = sdf.parse(dctimes);
//		}else{ 
//			calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
//			startdate =calendar.getTime();  
//		}
//		if (dctimee != null && !"".equals(dctimee)) {
//			enddate = sdf.parse(dctimee);
//		}else{
//			calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH));  
//			enddate =calendar.getTime(); 
//		}
//		String acode = hander.getQueryValue("a.code");
//		String mname = hander.getQueryValue("m.name");
//		String mitmetype = hander.getQueryValue("m.itmetype");
//		String sname = hander.getQueryValue("s.name");
//		String batch = hander.getQueryValue("batch");
//		String status = hander.getQueryValue("e.status");
//		Map map = new HashMap();
//		if (dctimes != null && !"".equals(dctimes)) {
//			map.put("dctimes", dctimes + " 00:00:00");
//		} else {
//			map.put("dctimes", sdf.format(startdate) + " 00:00:00");
//		}
//		if (dctimee != null && !"".equals(dctimee)){
//			map.put("dctimee", dctimee + " 23:59:59");
//		}else {
//			map.put("dctimee", sdf.format(enddate) + " 23:59:59");
//		}
//		if (acode != null && !"".equals(acode)) {
//			map.put("acode", "%"+acode+"%");
//		}
//		if (mname != null && !"".equals(mname)) {
//			map.put("mname", "%"+mname+"%");
//		}
//		if (mitmetype != null && !"".equals(mitmetype)) {
//			map.put("mitmetype", "%"+mitmetype+"%");
//		}
//		if (sname != null && !"".equals(sname)) {
//			map.put("sname", "%"+sname+"%");
//		}
//		if (batch != null && !"".equals(batch)) {
//			map.put("batch", "%"+batch+"%");
//		}
//		if (status != null && !"".equals(status)) {
//			map.put("status", "%"+status+"%");
//		}
//		SearchResult result = new SearchResult();
//		List<LogicWhAffVO> resultlist =new ArrayList<LogicWhAffVO>();
//		Map<String,LogicWhAffVO> affvomap = new HashMap<String, LogicWhAffVO>();
//		List<LogicWhAffVO> startlist = logicWhAffService.findStarQty(map);
//		if(startlist.size()>0){
//			for(LogicWhAffVO vo:startlist){
//				String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//				vo.setRkquantity(0d);
//				vo.setCkquantity(0d);
//				vo.setJrkc(0d);
//				affvomap.put(str, vo);
//			}
//		}
//		List<LogicWhAffVO> inoutlist = logicWhAffService.findInOutQty(map);
//		if(inoutlist.size()>0){
//			for(LogicWhAffVO vo:inoutlist){
//				if((vo.getRkquantity()!=null&&vo.getRkquantity()!=0)||(vo.getCkquantity()!=null&&vo.getCkquantity()!=0)){
//					LogicWhAffVO temaff = new LogicWhAffVO();
//					String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//					if(affvomap.get(str)!=null){
//						temaff=affvomap.get(str);
//						temaff.setRkquantity(vo.getRkquantity());
//						temaff.setCkquantity(vo.getCkquantity());
//						affvomap.put(str, temaff);
//					}else{
//						vo.setSumquantity(0d);
//						vo.setJrkc(0d);
//						affvomap.put(str, vo);
//					}
//				}
//			}
//		}
//		List<LogicWhAffVO> endlist = logicWhAffService.findEndQty(map);
//		if(endlist.size()>0){
//			for(LogicWhAffVO vo:endlist){
//				LogicWhAffVO temaff = new LogicWhAffVO();
//				String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//				if(affvomap.get(str)!=null){
//					temaff=affvomap.get(str);
//					temaff.setJrkc(vo.getJrkc());
//					affvomap.put(str, temaff);
//				}else{
//					vo.setSumquantity(0d);
//					vo.setRkquantity(0d);
//					vo.setCkquantity(0d);
//					affvomap.put(str, vo);
//				}
//			}
//		}
//		for (Map.Entry<String, LogicWhAffVO> MapString : affvomap.entrySet()) {
//			LogicWhAffVO affvo = MapString.getValue();
//			if(affvo.getRkquantity()!=0||affvo.getCkquantity()!=0){
//				if ("1".equals(affvo.getStatus())){
//					affvo.setStatus("一等");
//				}
//				if ("2".equals(affvo.getStatus())){
//					affvo.setStatus("次品");
//				}
//				if ("3".equals(affvo.getStatus())){
//					affvo.setStatus("旧品");
//				}
//				resultlist.add(affvo);
//			}
//		}
//		ExcelUtil.toExcel(resultlist, "物料编号:code┋物料名称:name┋物料类型:maType┋型号:spec┋单位:junit┋仓库:whName┋批次:batch┋物品状态:status┋本月期初:sumquantity┋入库数量:rkquantity┋出库数量:ckquantity┋结余库存:jrkc","月报表",response);
//	}
//	
//	/**
//	 * 日报表导出
//	 * @param request
//	 * @param response
//	 * @throws Exception
//	 */
//	@RequestMapping("/exportExcelDay")
//	public void exportExcelDay(HttpServletRequest request,
//			HttpServletResponse response) throws Exception {
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		JqGridHandler hander = new JqGridHandler(request);
//		SearchConditions scs = new SearchConditions();
//		scs.clearCondition();
//		hander.setFilters(new String(request.getParameter("filters").getBytes(
//				"ISO-8859-1"), "UTF-8")); // 转码
//		hander.getWheres(scs);
//		String d = hander.getQueryValue("a.dctime");
//		String acode = hander.getQueryValue("a.code");
//		String mname = hander.getQueryValue("m.name");
//		String mitmetype = hander.getQueryValue("m.itmetype");
//		String sname = hander.getQueryValue("s.name");
//		String batch = hander.getQueryValue("batch");
//		String status = hander.getQueryValue("e.status");
//		Map<String,String> map = new HashMap<String,String>();
//		if (d != null && !"".equals(d)) {
//			map.put("dctimes", d + " 00:00:00");
//			map.put("dctimee", d + " 23:59:59");
//		} else {
//			map.put("dctimes", sdf.format(new Date()) + " 00:00:00");
//			map.put("dctimee", sdf.format(new Date()) + " 23:59:59");
//		}
//		if (acode != null && !"".equals(acode)) {
//			map.put("acode", "%"+acode+"%");
//		}
//		if (mname != null && !"".equals(mname)) {
//			map.put("mname", "%"+mname+"%");
//		}
//		if (mitmetype != null && !"".equals(mitmetype)) {
//			map.put("mitmetype", "%"+mitmetype+"%");
//		}
//		if (sname != null && !"".equals(sname)) {
//			map.put("sname", "%"+sname+"%");
//		}
//		if (batch != null && !"".equals(batch)) {
//			map.put("batch", "%"+batch+"%");
//		}
//		if (status != null && !"".equals(status)) {
//			map.put("status", "%"+status+"%");
//		}
//		List<LogicWhAffVO> resultlist =new ArrayList<LogicWhAffVO>();
//		Map<String,LogicWhAffVO> affvomap = new HashMap<String, LogicWhAffVO>();
//		List<LogicWhAffVO> startlist = logicWhAffService.findStarQty(map);
//		if(startlist.size()>0){
//			for(LogicWhAffVO vo:startlist){
//				String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//				vo.setRkquantity(0d);
//				vo.setCkquantity(0d);
//				vo.setJrkc(0d);
//				affvomap.put(str, vo);
//			}
//		}
//		List<LogicWhAffVO> inoutlist = logicWhAffService.findInOutQty(map);
//		if(inoutlist.size()>0){
//			for(LogicWhAffVO vo:inoutlist){
//				if((vo.getRkquantity()!=null&&vo.getRkquantity()!=0)||(vo.getCkquantity()!=null&&vo.getCkquantity()!=0)){
//					LogicWhAffVO temaff = new LogicWhAffVO();
//					String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//					if(affvomap.get(str)!=null){
//						temaff=affvomap.get(str);
//						temaff.setRkquantity(vo.getRkquantity());
//						temaff.setCkquantity(vo.getCkquantity());
//						affvomap.put(str, temaff);
//					}else{
//						vo.setSumquantity(0d);
//						vo.setJrkc(0d);
//						affvomap.put(str, vo);
//					}
//				}
//			}
//		}
//		List<LogicWhAffVO> endlist = logicWhAffService.findEndQty(map);
//		if(endlist.size()>0){
//			for(LogicWhAffVO vo:endlist){
//				LogicWhAffVO temaff = new LogicWhAffVO();
//				String str = vo.getWhCode()+vo.getCode()+vo.getBatch()+vo.getStatus();
//				if(affvomap.get(str)!=null){
//					temaff=affvomap.get(str);
//					temaff.setJrkc(vo.getJrkc());
//					affvomap.put(str, temaff);
//				}else{
//					vo.setSumquantity(0d);
//					vo.setRkquantity(0d);
//					vo.setCkquantity(0d);
//					affvomap.put(str, vo);
//				}
//			}
//		}
//		for (Map.Entry<String, LogicWhAffVO> MapString : affvomap.entrySet()) {
//			LogicWhAffVO affvo = MapString.getValue();
//			if(affvo.getRkquantity()!=0||affvo.getCkquantity()!=0){
//				if ("1".equals(affvo.getStatus())){
//					affvo.setStatus("一等");
//				}
//				if ("2".equals(affvo.getStatus())){
//					affvo.setStatus("次品");
//				}
//				if ("3".equals(affvo.getStatus())){
//					affvo.setStatus("旧品");
//				}
//				resultlist.add(affvo);
//			}
//		}
//		ExcelUtil.toExcel(resultlist, "物料编号:code┋物料名称:name┋物料类型:maType┋型号:spec┋单位:junit┋仓库:whName┋批次:batch┋物品状态:status┋本月期初:sumquantity┋入库数量:rkquantity┋出库数量:ckquantity┋结余库存:jrkc","日报表",response);
//	}
//	
//	@RequestMapping("/exportExcelMonth1")
//	public void exportExcelMonth1(HttpServletRequest request,
//			HttpServletResponse response) throws Exception {
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		JqGridHandler hander = new JqGridHandler(request);
//		SearchConditions scs = new SearchConditions();
//		hander.getWheres(scs);
//		String d = hander.getQueryValue("a.dctime");
//		String d1 = hander.getQueryValue("dctime");
//		String mname = null;
//		if (hander.getQueryValue("m.name") != null && !"".equals(hander.getQueryValue("m.name")) )
//		 mname = new String(hander.getQueryValue("m.name").getBytes("ISO-8859-1"), "UTF-8");
//		
//		Map map = new HashMap();
//		if (d != null && !"".equals(d)) {
//			map.put("dctimes", d + " 00:00:00");
//		} else {
//			map.put("dctimes", sdf.format(new Date()) + " 00:00:00");
//		}
//		if (d1 != null && !"".equals(d1)){
//			map.put("dctimee", d1 + " 23:59:59");
//		}else {
//			map.put("dctimee", sdf.format(new Date()) + " 23:59:59");
//		}
//		
//		if (mname != null && !"".equals(mname)) {
//			map.put("mname", "%"+mname+"%");
//		}
//		SearchResult result = logicWhAffService.findAll1(map);
//		List<LogicWhAffVO1> vo1=result.getResults();
//		List<LogicWhAffVO1> vo2=new ArrayList<LogicWhAffVO1>();
//		//查找材料类型
//		List<String> slist=new ArrayList<String>();
//		Map <String,String> map1 = new HashMap <String,String>(); 
//		if(vo1.size()>0){
//			for(int i=0;i<vo1.size();i++){
//				BasicMaterialstypeDO bm = basicmatertypeService.findListById(vo1.get(i).getItmetypeid());
//				if(bm!=null){
//					if(typename(bm.getParentid(),bm.getName())!=null){
//						vo1.get(i).setItmetype(typename(bm.getParentid(),bm.getName()));
//					}
//				}
//			}
//			for(LogicWhAffVO1 o :vo1){
//				map1.put(o.getHubname()+o.getItmetype()+o.getBilltype(),o.getHubname()+","+o.getItmetype()+","+o.getBilltype()); 
//			}
//			Set<Entry<String, String>> set = map1.entrySet();// 取得键值对的对象set集合
//
//			for (Entry<String, String> en : set) {// 遍历键值对的集合
//				int j=1;
//				String[] array=en.getValue().split(",");
//				LogicWhAffVO1 wh=new LogicWhAffVO1();
//				LogicWhAffVO1 wh1=new LogicWhAffVO1();
//				for(int i=0;i<vo1.size();i++){
//					if(array[0].equals(vo1.get(i).getHubname())&&array[1].equals(vo1.get(i).getItmetype())&&array[2].equals(vo1.get(i).getBilltype())&&vo1.get(i).getQuantity()!=null){
//						if("PB".equals(vo1.get(i).getBilltype())){
//							if((vo1.get(i).getQuantity()==null?0.0:vo1.get(i).getQuantity())>=0){
//								wh.setHubname(vo1.get(i).getHubname());
//								wh.setItmetype(vo1.get(i).getItmetype());
//								wh.setTypename("盘点盈");
//								wh.setQuantity((wh.getQuantity()==null?0.0:wh.getQuantity())+(vo1.get(i).getQuantity()==null?0.0:vo1.get(i).getQuantity()));
//							}else{
//								wh1.setHubname(vo1.get(i).getHubname());
//								wh1.setItmetype(vo1.get(i).getItmetype());
//								wh1.setTypename("盘点亏");
//								wh1.setQuantity((wh1.getQuantity()==null?0.0:wh1.getQuantity())+(vo1.get(i).getQuantity()==null?0.0:vo1.get(i).getQuantity()));
//							}
//						}else{
//							wh.setHubname(vo1.get(i).getHubname());
//							wh.setItmetype(vo1.get(i).getItmetype());
//							wh.setTypename(vo1.get(i).getTypename());
//							wh.setQuantity((wh.getQuantity()==null?0.0:wh.getQuantity())+(vo1.get(i).getQuantity()==null?0.0:vo1.get(i).getQuantity()));
//						}
//					}
//				}
//				if(wh1.getItmetype()!=null){
//					vo2.add(wh1);
//				}
//				if(wh.getItmetype()!=null){
//					vo2.add(wh);
//				}
//			}
//		}
//		Collections.sort(vo2, new Comparator<LogicWhAffVO1>() {
//            public int compare(LogicWhAffVO1 arg0, LogicWhAffVO1 arg1) {
//                return arg0.getHubname().compareTo(arg1.getHubname());
//            }
//        });
//		ExcelUtil.toExcel(vo2, "所属仓库:hubname┋物料类型:itmetype┋进出类型:typename┋金额:quantity","各仓库申购/消耗汇总表",response);
//	}
//}
